﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace StableDiffusionTools.AUTOMATIC1111
{
    public class ScriptInfo
    {
        [JsonPropertyName("name")]
        public string Name { get; set; }
        [JsonPropertyName("is_alwayson")]
        public bool IsAlwaysOn { get; set; }
        [JsonPropertyName("is_img2img")]
        public bool IsImg2Img { get; set; }
        [JsonPropertyName("args")]
        public List<Arg> Args { get; set; }
    }

    public class Arg
    {
        [JsonPropertyName("label")]
        public string Label { get; set; }
        [JsonPropertyName("value")]
        public object Value { get; set; }
        [JsonPropertyName("minimum")]
        public double? Minimum { get; set; }
        [JsonPropertyName("maximum")]
        public double? Maximum { get; set; }
        [JsonPropertyName("step")]
        public double? Step { get; set; }
        [JsonPropertyName("choices")]
        public List<string> Choices { get; set; }
    }
}
